#ifndef SCALEDPLOT_H
#define SCALEDPLOT_H

#include <QWidget>

class QwtPlot;

namespace Ui {
    class ScaledPlot;
}

/** Виджет масштабируемого графика.
 *
 * @author Василий Почкаенко.
 */
class ScaledPlot : public QWidget {
Q_OBJECT
private:
	Ui::ScaledPlot *ui;
public:
	ScaledPlot(QWidget *parent = 0);
	~ScaledPlot();

	/** Указатель на QwtPlot. Он должен быть доступен, чтобы добавлять в него кривые и т.д.*/
	QwtPlot * qwtPlot();

protected:
	void changeEvent(QEvent *e);
public slots:
	/** Задать длину графика.*/
	void setHorizontalLength(int length);

	/** Задать высоту графика.*/
	void setVerticalLength(int length);

	void replot();
private slots:
	/** Установить текущую горизонтальную позицию на графике.*/
	void setCurrentHorizontalPosition(int pos);

	/** Установить текущую вертикальную позицию на графике.*/
	void setCurrentVerticalPosition(int pos);

	/** Обновить горизонтальный масштаб.*/
	void updateHorizontalScale();

	/** Обновить вертикальный масштаб.*/
	void updateVerticalScale();
};

#endif // SCALEDPLOT_H
